Симонова В.И.
Российский университет дружбы народов, Москва, Россия
НКАбд-05-23
2 марта 2024
Цель данной лабораторной работы - изучение применения средств контроля версий git.
Системы контроля версий. Общие понятия Системы контроля версий (Version Control System, VCS) применяются при работе нескольких человек над одним проектом. Обычно основное дерево проекта хранится в локальном или удалённом репозитории, к которому настроен доступ для участников проекта. При внесении изменений в содержание проекта система контроля версий позволяет их фиксировать, совмещать изменения, произведённые разными участниками проекта, производить откат к любой более ранней версии проекта, если это требуется. В классических системах контроля версий используется централизованная модель, предполагающая наличие единого репозитория для хранения файлов. Выполнение большинства функций по управлению версиями осуществляется специальным сервером. Участник проекта (пользователь) перед началом работы посредством определённых команд получает нужную ему версию файлов. После внесения изменений, пользователь размещает новую версию в хранилище. При этом предыдущие версии не удаляются из центрального хранилища и к ним можно вернуться в любой момент. Сервер может сохранять не полную версию изменённых файлов, а производить так называемую дельта-компрессию — сохранять только изменения между последовательными версиями, что позволяет уменьшить объём хранимых данных. Системы контроля версий поддерживают возможность отслеживания и разрешения конфликтов, которые могут возникнуть при работе нескольких человек над одним файлом. Можно объединить (слить) изменения, сделанные разными участниками (автоматически или вручную), вручную выбрать нужную версию, отменить изменения вовсе или заблокировать файлы для изменения. В зависимости от настроек блокировка не позволяет другим пользователям получить рабочую копию или препятствует изменению рабочей копии файла средствами файловой системы ОС, обеспечивая таким образом, привилегированный доступ только одному пользователю, работающему с файлом. Системы контроля версий также могут обеспечивать дополнительные, более гибкие функциональные возможности. Например, они могут поддерживать работу с несколькими версиями одного файла, сохраняя общую историю изменений до точки ветвления версий и собственные истории изменений каждой ветви. Кроме того, обычно доступна информация о том, кто из участников, когда и какие изменения вносил. Обычно такого рода информация хранится в журнале изменений, доступ к которому можно ограничить. В отличие от классических, в распределённых системах контроля версий центральный репозиторий не является обязательным. Среди классических VCS наиболее известны CVS, Subversion, а среди распределённых — Git, Bazaar, Mercurial. Принципы их работы схожи, отличаются они в основном синтаксисом используемых в работе команд.
Устанавливаю необходимое ПО git и gh
Задаю для имя и почту владельца репозитория.Настраиваю кодировку для корректного вывода сообщений в git. Задаю имя ветки. Параметр autoclaf, параметр safecrlf
Создание ключа SSH размер 4096 бит по алгоритму rsa
Создание ключа SSH по алгоритму ed25529
Генерирую ключ PGP выбираю тип RSA and RSA, задаю максимальную длину ключа 4096, ставлю неогранниченный срок действия. Отвечаю на вопросы о личной информации и ввожу пароль для защиты новго ключа.
Добавляю список созданных ключей , ищу отпечаток ключа , копирую
Копирую ключ
У меня уже есть аккаунт на Github
Вставляю ключ в поле на Github
Я добавила ключ на Github
Настройка автоматических подписей комитов с помощью введённого эмэйла
Сообщение о завершении авторизации
Создаю свою директорию с помощью mkdir и перехожу в нее. Далее в терминале ввожу команду, чтобы создать репозиторий на основе заданного шаблона
Клонирую рипозиторий к себе в директорию и переход туда
Удаляю лишние файлы и создаю необходимые каталоги
Выполняю git add для отправки файлов на сервер , git commit для их коментирования ,далее ввожу пароль для разблокировки ключа
Отправляю файлы на сервер с помощью git push
Настройка автоматических подписей комитов с помощью введённого эмэйла
Сообщение о завершении авторизации
При выполнении лабораторной работы я изучила систему контроля версий git и применение средст контроля версий.